package Cafezam;

import java.util.Scanner;

public class J16CH05Calcurator {
	public static void main(String[] args)
	{
		String msg = "두 정수와 연산자를 입력하세요 >>";
		Scanner sc = new Scanner(System.in);
		// new 연산자를 이용한 객체생성은 
		// 최대한 천천히 실행한 것!
		J16Cal cal = null;
		J16CalService cs = new J16CalService();
		//1
		System.out.println( msg );
		int a = sc.nextInt();
		int b = sc.nextInt();
		String c = sc.next();
		//2
		switch (c) {
			case "+": 
				cal = new J16Add();
				cal.setValue(a, b);
			    //3
				cs.calculate(cal,"+"); //cal-x,y
				break;
			case "-":
				cal= new J16Sub();
				cal.setValue(a, b);
				cs.calculate(cal,"-");
				break;
			case "x":
				cal= new J16Mul();
				cal.setValue(a, b);
				cs.calculate(cal,"*");
				break;
			case "/": 
				cal= new J16Div();
				cal.setValue(a, b);
				cs.calculate(cal,"/");	
				break;
		}
				sc.close();
		}
}
class J16Cal{
	private int x;
	private int y;
	//생성자는 생략 - setValue()로 대신
	public int getX() {return x;	}
	public void setX(int x) {this.x = x;}
	public int getY() {return y;}
	public void setY(int y) {this.y = y;}
	public void setValue(int x, int y){	this.x=x;this.y=y;}
	@Override
	public String toString() {
		String result="";
		result=x+"/"+y;
		return result;
	}
}
class J16Add extends J16Cal{}
class J16Sub extends J16Cal{}
class J16Mul extends J16Cal{}
class J16Div extends J16Cal{}

interface J16CalIService{
	void calculate(J16Cal c,String type);
}
class J16CalService implements J16CalIService
{
	
	@Override
	public void calculate(J16Cal c, String type)
	{
		//4
		int result = 0;
		switch(type)
		{
		case"+":
			result=c.getX()+c.getY();
			break;
		case"-":
			result=c.getX()-c.getY();
			break;
		case"*":
			result=c.getX()*c.getY();
			break;
		case"/":
			result=c.getX()/c.getY();
			break;
		}
		System.out.println(result);
		}
}








